package ventanas;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.ColumnSpec;
import com.jgoodies.forms.layout.RowSpec;
import com.jgoodies.forms.factories.FormFactory;
import controladores.ControladorBusquedaPacientes;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JList;
import javax.swing.JLabel;
import negocio.Paciente;
import javax.swing.JScrollPane;

public class VentanaBusquedaPacientes extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel contentPane;
	private final JTextField txtBuscarPaciente = new JTextField();
	private final JButton btnBuscarPaciente = new JButton("Buscar Paciente");
	private final JList<Paciente> lista = new JList<Paciente>();
	private final JButton btnC = new JButton("C");
	private final JButton btnNuevoPaciente = new JButton("Nuevo Paciente");
	private final JLabel lblPacientes = new JLabel("Pacientes");
	private ControladorBusquedaPacientes controlador;
	private final JScrollPane scrollPane = new JScrollPane();

	public VentanaBusquedaPacientes() {
		setTitle("B\u00FAsqueda de Paciente");
		this.controlador = new ControladorBusquedaPacientes(this);
		initGUI();
		agregarlisteners();
	}
	
	private void initGUI() {
		setBounds(100, 100, 421, 340);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(new FormLayout(new ColumnSpec[] {
				ColumnSpec.decode("max(175dlu;default):grow"),
				FormFactory.RELATED_GAP_COLSPEC,
				ColumnSpec.decode("max(84dlu;default)"),},
			new RowSpec[] {
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				RowSpec.decode("max(94dlu;default):grow"),
				FormFactory.RELATED_GAP_ROWSPEC,
				RowSpec.decode("max(31dlu;default)"),}));
		
		txtBuscarPaciente.setColumns(10);
		contentPane.add(lblPacientes, "1, 1, center, center");
		contentPane.add(txtBuscarPaciente, "1, 3, fill, center");
		contentPane.add(btnBuscarPaciente, "3, 3");
		contentPane.add(btnC, "3, 5");
		
		contentPane.add(scrollPane, "1, 7, fill, fill");
		contentPane.add(btnNuevoPaciente, "3, 7, default, top");
		this.setVisible(true);
		this.setLocationRelativeTo(null);
		this.pack();
	}
	
	private void agregarlisteners(){
		btnBuscarPaciente.addActionListener(controlador);
		btnC.addActionListener(controlador);
		btnNuevoPaciente.addActionListener(controlador);
		scrollPane.setViewportView(lista);
		lista.addMouseListener(controlador);
	}
	
	//getters y setters
	public JTextField getTxtBuscarPaciente() {
		return txtBuscarPaciente;
	}
	
	public JButton getBtnBuscarPaciente() {
		return btnBuscarPaciente;
	}
	
	public JList<Paciente> getLista() {
		return lista;
	}
	
	public JButton getBtnC() {
		return btnC;
	}
	
	public JButton getBtnNuevoPaciente() {
		return btnNuevoPaciente;
	}
}
